home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Mac Game Programming Gurus
/
TricksOfTheMacGameProgrammingGurus.iso
/
Book Chapters
/
10 - Networking
/
NovelNetwar
/
menus.c
< prev
next >
Wrap
Text File
|
1995-05-12
|
3KB
|
167 lines
// Menu handling stuff.
#include "NovelNetwar.h"
#define NUMMENUS 5
#define appleMenu 0
#define fileMenu 1
#define editMenu 2
#define playMenu 3
#define reinforceMenu 4
#define appleID 128
#define fileID 129
#define editID 130
#define playID 131
#define reinforceID 132
#define aboutMe 1
#define helpCommand 2
#define quitCommand 1
#define undoCommand 1
#define cutCommand 3
#define copyCommand 4
#define pasteCommand 5
#define clearCommand 6
#define selectAllCommand 7
#define instructionsCommand 1
#define UNCommand 3
static MenuHandle myMenus[NUMMENUS];
void menusInit(void)
{
}
void menusStartup(void)
{
myMenus[appleMenu] = GetMenu(appleID);
AddResMenu(myMenus[appleMenu],'DRVR');
myMenus[fileMenu] = GetMenu(fileID);
myMenus[editMenu] = GetMenu(editID);
myMenus[playMenu] = GetMenu(playID);
InsertMenu(myMenus[appleMenu],0);
InsertMenu(myMenus[fileMenu],0);
InsertMenu(myMenus[editMenu],0);
InsertMenu(myMenus[playMenu],0);
DrawMenuBar();
}
void menusShutDown(void)
{
}
OSErr DoCommand(long mResult)
{
int theItem,i;
WindowPeek wPtr;
GrafPtr oldPort;
char tempString[256];
theItem = LoWord(mResult);
switch (HiWord(mResult))
{
case appleID:
if (theItem == aboutMe)
{
DoAboutBox(0);
}
else if (theItem == helpCommand)
{
DoHelpBox(HELPWIND,HELPTEXT,HELPSTYL);
}
else
{
InitCursor();
GetItem(myMenus[appleMenu], theItem,(unsigned char *) tempString);
OpenDeskAcc((unsigned char *) tempString);
}
break;
case fileID:
switch (theItem)
{
case quitCommand:
alive = FALSE;
break;
}
break;
case editID:
SystemEdit(theItem - 1);
break;
case playID:
switch (theItem)
{
case instructionsCommand:
DoHelpBox(HELPWIND,HELPTEXT,HELPSTYL);
break;
}
break;
default:
break;
}
HiliteMenu(0);
}
void DisableEditMenu(void)
{
DisableItem(myMenus[editMenu],undoCommand);
DisableItem(myMenus[editMenu],cutCommand);
DisableItem(myMenus[editMenu],copyCommand);
DisableItem(myMenus[editMenu],clearCommand);
DisableItem(myMenus[editMenu],pasteCommand);
DisableItem(myMenus[editMenu],selectAllCommand);
}
void EnableEditMenu(void)
{
EnableItem(myMenus[editMenu],undoCommand);
EnableItem(myMenus[editMenu],cutCommand);
EnableItem(myMenus[editMenu],copyCommand);
EnableItem(myMenus[editMenu],clearCommand);
EnableItem(myMenus[editMenu],pasteCommand);
EnableItem(myMenus[editMenu],selectAllCommand);
}